<!--
 * @Description: 
 * @version: 
 * @Author: 尹鹏孝
 * @Date: 2022-01-19 10:45:31
 * @LastEditors: 尹鹏孝
 * @LastEditTime: 2022-01-20 09:44:28
-->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>快乐数</title>
</head>

<body>
    <!-- 对于一个正整数，每一次将该数替换为它每个位置上的数字的平方和，然后重复这个过程直到这个数变为 1，也可能是 无限循环 但始终变不到 1。如果 可以变为 1，那么这个数就是快乐数。 如果 n 是快乐数就返回 True ；不是，则返回 False 。-->
    <script>
        var getSum = function (n) {
            let sum = 0;
            while (n) {
                sum += (n % 10) ** 2;
                n = Math.floor(n / 10);
            }
            return sum;
        }
        var isHappy = function (n) {
            let set = new Set();
            while (n !== 1 && !set.has(n)) {
                set.add(n);
                n = getSum(n);
            }
            return n === 1;
        }

    </script>
</body>

</html>